package model

import (
	"encoding/json"
	"fmt"
	"github.com/gorilla/websocket"
)

// 定义一个消息结构体
type Msg struct {
	SendUser string // 发送人
	ReceUser string // 接收人
	SendTime string // 发送时间
	Msg      string // 消息内容
	IsPublic bool   // 消息类型是否是公开的 true 公开 false 私信
	IsSend   bool   // 是否是发送消息，用于区分发送消息和上线下线消息（true 发送消息 false 上线/下线消息）
	Pic      string // 头像图片地址
	PicName  string // 用户名前两位字符
}

// 解析消息的方法（将客户端返回的消息解析）
func (msg *Msg) ParseMessage(message []byte) error {
	fmt.Println(string(message))
	err := json.Unmarshal(message, msg)
	if err != nil {
		fmt.Println(err)
	}
	return nil
}

// 编码消息（将服务端消息发送给客户端）
func (msg *Msg) EncodeMessage() []byte {
	b, _ := json.Marshal(msg) // 直接将对象返回过去
	return b
}

type Message struct {
	Conn *websocket.Conn
	Msg  Msg
}
